package com.leo.chapter08;

import java.util.Set;

/**
 *
 * @author xuexiaolei
 * @version 2017年10月18日
 */
public interface Puzzle<P, M> {
    P initialPosition();
    boolean isGoal(P position);
    Set<M> legalMoves(P position);
    P move(P position, M move);
}
